package com.filldream.fastboot.core.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.filldream.fastboot.base.entity.QuartzJob;
import com.filldream.fastboot.base.entity.QuartzLog;
import com.filldream.fastboot.base.entity.ScheduleJob;
import com.filldream.fastboot.base.request.pc.job.JobLogPageSTO;
import com.filldream.fastboot.common.entity.B;
import com.filldream.fastboot.common.entity.BasePage;
import com.filldream.fastboot.common.entity.P;

import java.util.List;

/**
 * @author RickSun
 * @Description ScheduleJobService
 **/
public interface ScheduleJobService extends IService<QuartzJob> {

    void add(QuartzJob resources);
    void modify(QuartzJob resources);
    void delete(List<Long> ids);


    /**
     * 执行子任务
     * @param tasks /
     * @throws InterruptedException /
     */
    void executionSubJob(String[] tasks) throws InterruptedException;
    void execution(QuartzJob quartzJob);
    /**
     * 更改定时任务状态
     * @param quartzJob /
     */
    void updateIsPause(QuartzJob quartzJob);


    Page<QuartzLog> jobLogPage(JobLogPageSTO sto);

    QuartzLog getJobLog(Long id);

    Boolean clearJobLog();

    void init(String notBeanName);

}
